summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-03-13 18:45:17 +0100
committerGitHub <noreply@github.com>2023-03-13 18:45:17 +0100
commit638044820ddbeb00d33692eef69ce41bb6234c66 (patch)
tree71b4b63e46f07d3b3f1726eb0b90d1d97fb0c9dc
parentMerge pull request #9936 from liamwhite/m_this (diff)
parentvideo_core: Fix ogl status error when draw_texture (diff)
downloadyuzu-638044820ddbeb00d33692eef69ce41bb6234c66.tar
yuzu-638044820ddbeb00d33692eef69ce41bb6234c66.tar.gz
yuzu-638044820ddbeb00d33692eef69ce41bb6234c66.tar.bz2
yuzu-638044820ddbeb00d33692eef69ce41bb6234c66.tar.lz
yuzu-638044820ddbeb00d33692eef69ce41bb6234c66.tar.xz
yuzu-638044820ddbeb00d33692eef69ce41bb6234c66.tar.zst
yuzu-638044820ddbeb00d33692eef69ce41bb6234c66.zip
-rw-r--r--src/video_core/engines/draw_manager.cpp1
-rw-r--r--src/video_core/renderer_opengl/blit_image.cpp3
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp1
3 files changed, 3 insertions, 2 deletions
diff --git a/src/video_core/engines/draw_manager.cpp b/src/video_core/engines/draw_manager.cpp
index 1d22d25f1..0e94c521a 100644
--- a/src/video_core/engines/draw_manager.cpp
+++ b/src/video_core/engines/draw_manager.cpp
@@ -164,6 +164,7 @@ void DrawManager::DrawEnd(u32 instance_count, bool force_draw) {
draw_state.index_buffer.count =
static_cast<u32>(draw_state.inline_index_draw_indexes.size() / 4);
draw_state.index_buffer.format = Maxwell3D::Regs::IndexFormat::UnsignedInt;
+ maxwell3d->dirty.flags[VideoCommon::Dirty::IndexBuffer] = true;
ProcessDraw(true, instance_count);
draw_state.inline_index_draw_indexes.clear();
break;
diff --git a/src/video_core/renderer_opengl/blit_image.cpp b/src/video_core/renderer_opengl/blit_image.cpp
index 9a560a73b..3b03e8d5a 100644
--- a/src/video_core/renderer_opengl/blit_image.cpp
+++ b/src/video_core/renderer_opengl/blit_image.cpp
@@ -22,7 +22,7 @@ BlitImageHelper::~BlitImageHelper() = default;
void BlitImageHelper::BlitColor(GLuint dst_framebuffer, GLuint src_image_view, GLuint src_sampler,
const Region2D& dst_region, const Region2D& src_region,
const Extent3D& src_size) {
- glEnable(GL_CULL_FACE);
+ glDisable(GL_CULL_FACE);
glDisable(GL_COLOR_LOGIC_OP);
glDisable(GL_DEPTH_TEST);
glDisable(GL_STENCIL_TEST);
@@ -31,7 +31,6 @@ void BlitImageHelper::BlitColor(GLuint dst_framebuffer, GLuint src_image_view, G
glDisable(GL_ALPHA_TEST);
glDisablei(GL_BLEND, 0);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
- glCullFace(GL_BACK);
glFrontFace(GL_CW);
glColorMaski(0, GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
glDepthRangeIndexed(0, 0.0, 0.0);
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index abe0f3582..90e35e307 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -357,6 +357,7 @@ void RasterizerOpenGL::DrawTexture() {
.y = static_cast<s32>(draw_texture_state.src_y1)}};
blit_image.BlitColor(texture_cache.GetFramebuffer()->Handle(), texture.DefaultHandle(),
sampler->Handle(), dst_region, src_region, texture.size);
+ state_tracker.InvalidateState();
}
++num_queued_commands;